<?php
/**
 * 
 * Esta es la clase Clasificacion etapa. la cual me permitira manejar las etapas por las diferentes categorias.
 * @author developer
 *
 */
class ClasificacionEtapaModel extends Model
{
	private $_nameTable = "SC_CategoriaEtapas";
	
	public function __construct()
	{
		parent::Model();
	}
	
	public function loadRegistros($start = false, $offset = false, $sortname = false, $sortorder = false)
	{
		
		if($offset != false){
               $this->db->limit($offset, $start);
         }
		      
		 if($sortname != false && $sortorder != false){
		        $this->db->order_by($sortname, $sortorder);
		 }
		 
		 $query = $this->db->get($this->_nameTable);
		 return $this->_getQueryFromResult($query);
	}
	
	public function loadRegistroById($id)
	{
		$query = $this->db->get_where($this->_nameTable, array('id_Categoria' => $id));
		
		if($query->num_rows() == 0)
			return false;
		
			return new ClasifacionEtapaTable($query->row());
		
	}
	
	public function getCount()
	{
		return count($this->loadRegistros());
	}
	
	public function addRegistro($data)
	{
		if($this->db->insert($this->_nameTable, $data)){
			
			return true;
		}
			return false;
	}
	
	public function updateRegistro($data, $id)
	{
		if($this->db->update($this->_nameTable, $data, array('id_Categoria' => $id))){
			
			return true;
		}
		
			return false;
	}
	
	public function deleteRegistro($id)
	{
		if($this->db->delete($this->_nameTable, array('id_Categoria' => $id))){
			
			return true;
		}
			return false;
	}
	
	private function _getQueryFromResult($resultado)
	{
		if($resultado->num_rows() == 0){
			return false;
		}
		
		$registros = array();
		
		foreach ($resultado->result() as $record){
			$registros[] = new ClasifacionEtapaTable($record);
		}
		
		return $registros;
	}
	
}

class ClasifacionEtapaTable
{
	private $_idEtapa = 0;
	private $_detalleEtapa = " ";
	
	
	public function __construct($dataObjeto)
	{
		$this->_idEtapa = $dataObjeto->id_Categoria;
		$this->_detalleEtapa = $dataObjeto->Detalle_Categoria;
	}
	
	public function getIdCategoria()
	{
		return $this->_idEtapa;
	}
	
	public function getDetalleEtapa()
	{
		return $this->_detalleEtapa;
	}
}